home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Installation Tools & Overlays 1999 May
/
SGI IRIX Installation Tools & Overlays 1999 May - Disc 2.iso
/
relnotes
/
dmedia_dev
/
ch09.z
/
ch09
Wrap
Text File
|
1999-04-19
|
13KB
|
397 lines
- 1 -
9. _M_o_v_i_e__L_i_b_r_a_r_y
This chapter lists information about the Movie Library
programming interface included IRIS Digital Media
Development Environment. It includes known problems and
workarounds.
The Movie Library (_l_i_b_m_o_v_i_e._s_o for use with IRIS GL, or
_l_i_b_m_o_v_i_e_G_L._s_o for use with OpenGL) is a C-based applications
programming interface for the creation of programs which
read, write, and play movies. A movie is a file containing
sequences of images and/or audio. A movie is a useful
display method for graphical sequences which cannot be
rendered in real time or for any sequenced image data. The
Movie Library currently provides support for the native
Silicon Graphics movie file format, QuickTime(*) file
format, MPEG I Systems Layer, and the AVI format, and DIF
format (DVC/DVCPro raw data). Not all of the movie library
features are available with all file formats. Also, not all
Movie Library interfaces are supported in the Iris GL
version.
The library contains approximately 80 calls.
The main features of the Movie Library (MV) are:
+o Ability to read, write, and play movie files.
+o High level interface to image data compression.
+o Support for several file formats, including
Apple QuickTime
SGI Movie
MPEG I Systems Layer
MPEG I Video Layer
AVI
DIF
+o File-format independent API.
+o Asynchronous playback support with flexible controls.
+o Basic editing features for image and audio sequences.
- 2 -
+o Support for embedded movies in applications software.
The Movie Library is built upon other libraries which must
be linked into the application. These include:
- Audio Library (_l_i_b_a_u_d_i_o._s_o)
- Compression Library (_l_i_b_c_l._s_o)
- Digital Media Library (_l_i_b_d_m_e_d_i_a._s_o)
(*) QuickTime is a registered trademark of Apple Computer,
Inc.
A number of example programs which provide coverage of many
of the calls in the library are also included. They are
contained in the dmedia_dev.src.examples portion of the
install image and get installed in
/usr/share/src/dmedia/movie. A README file there explains
each of the example programs.
Debugging versions of the library are available as well
(/_u_s_r/_l_i_b/_d_e_b_u_g/_l_i_b_m_o_v_i_e._s_o and
/_u_s_r/_l_i_b/_d_e_b_u_g/_l_i_b_m_o_v_i_e_G_L._s_o). They perform extra error
checking on all parameters passed into the library and
provide more extensive feedback to the programmer as to what
might be wrong. However, they also incur a substantial
overhead and it is not recommended that they be for anything
other than testing. They may be used by setting
LD_LIBRARY_PATH (or LD_LIBRARYN32_PATH) to point at
/usr/lib/debug (or /usr/lib32/debug) and running the
application. See rrrrlllldddd((((1111)))) for more information.
For additional information about the Movie Library see the
overview manual page mmmmvvvvIIIInnnnttttrrrroooo(3mv).
9.1 _C_h_a_n_g_e_s__a_n_d__A_d_d_i_t_i_o_n_s
This section lists changes and additions made to the Movie
Library since the release of IRIX 5.3.
+o For Irix 6.5, the movie library has been enhanced to
support certain common kinds of compressed audio in
QuickTime movies. QuickTime movies with IMA4 (also
known as IMA4:1) compressed audio tracks are now
readable, as are DV-Audio compressed tracks. (DV-Audio
compression is also supported in DIF streams.) Note
- 3 -
that IMA4 is supported read-only (ie, decompress-only).
DV-Audio compressed data can be created only when
exporting a DIF stream using mmmmvvvvEEEExxxxppppoooorrrrttttFFFFllllaaaatttttttteeeennnneeeeddddFFFFiiiilllleeee.
+o Standard QuickTime Motion JPEG-A (MJPEG-A) field based
compression is now supported in Irix 6.5 (it was
available in 6.3 with appropriate patches as well).
MJPEG-A is a powerful format because it is cross-
platform, so that the same movie can be played on
SGI's, Mac's and PC's in realtime, with appropriate
hardware, such as the O2's built in ICE hardware.
+o In Irix 6.5, a new function has been added to allow
simplified generation of movies which are optimized for
playback. Please see man mmmmvvvvEEEExxxxppppoooorrrrttttFFFFllllaaaatttttttteeeennnneeeeddddFFFFiiiilllleeee.
+o The movie library supports more hardware for playing
back movies, such as Cosmo Compress, O2's built in ICE,
Impact Compression, etc.
+o Several functions have been added to the Movie Library
to provide time based access to and editing of movie
data in addition to the existing frame based calls.
See the "FRAME, TIME and TIMESCALE" section of
mmmmvvvvIIIInnnnttttrrrroooo(3dm) for more details.
+o In 5.3 mmmmvvvvRRRReeeeaaaaddddFFFFrrrraaaammmmeeeessss(3dm) would return different formats
(eg, pixel packing, orientation, etc), depending upon
how the data was stored in the file. Now
mmmmvvvvRRRReeeeaaaaddddFFFFrrrraaaammmmeeeessss(3dm) ALWAYS returns the same pixel
formats.
mmmmvvvvIIIInnnnsssseeeerrrrttttFFFFrrrraaaammmmeeeessss(3dm) used to expect its input format
(eg, pixel packing orientation, etc) to be correlated
to the file format/codec. Now it ALWAYS expects data to
be in the same format.
These changes were made to prevent requiring every
application to understand how to perform image
conversions.
See the man page for additional information about
mmmmvvvvRRRReeeeaaaaddddFFFFrrrraaaammmmeeeessss(3dm) and mmmmvvvvIIIInnnnsssseeeerrrrttttFFFFrrrraaaammmmeeeessss(3dm).
+o The QuickTime Compressor Library product no longer
exists. Applications that link with _l_i_b_m_o_v_i_e._s_o will
now be able to read and create movies compressed with
the Apple Animation and Apple Video compression
algorithms without linking with _l_i_b_q_t._a or calling
mmmmvvvvIIIInnnniiiittttQQQQuuuuiiiicccckkkkTTTTiiiimmmmeeee. Applications will also be able to read
and write Cinepak (Compact Video) movies. The movie
- 4 -
library will also recognize and play back QuickTime
movies compressed with Indeo(tm) compression, and
DVC/DVCPro compression.
+o The Movie Library now supports multiple audio and video
tracks in QuickTime files. New calls allow the
programmer to find the number of tracks and retrieve
track handles on each one. Multiple tracks of a given
medium may be played simultaneously or sequentially
under program control.
+o The Movie Library has been extended to allow external
data references for tracks. A track that contains an
external data reference has data that resides in a
separate file. The Movie Library access this file as
necessary during movie editing and playback.
+o The Movie Library no longer requires that each frame in
an image track have the same duration. A sequence of
an image track may be scaled by an application to
increase or shorten its playback time.
+o In general, many more forms of QuickTime movies are
recognized.
+o Read only support for MPEG I Systems streams is new in
this version of the Movie Library. MPEG movies may be
played using the Movie Library's playback calls.
However, most calls that manipulate movie data, such as
editing or reading compressed images, are not supported
for MPEG files.
+o AVI support has been added to the movie library. The
compression types currently supported for AVI files are
Cinepak, Indeo, and uncompressed.
+o The Movie Library now supports controlling the image
compression quality, bitrate, and keyframe frequency of
data in an image track. These qualities can be
controlled by setting the appropriate DMparams when the
image track is created. See the mmmmvvvvAAAAddddddddTTTTrrrraaaacccckkkk(3dm) man
page for more details.
+o The Movie Library now supports software scaling of the
volume of a playing movie. See
mmmmvvvvGGGGeeeettttMMMMoooovvvviiiieeeePPPPllllaaaayyyyVVVVoooolllluuuummmmeeee(3dm) for more details.
- 5 -
9.2 _B_u_g__F_i_x_e_s__s_i_n_c_e__5_._3
This sections lists some of the known bugs that have been
fixed since 5.3
+o Bug #610693: As of Irix 6.5.1, uncompressed frame-based
(ie, interleaved-fields) uncompressed 8-bit YUV422
QuickTime movies generated by the SGI movie library
will now be readable on other platforms which support
QuickTime 3.0. Note that these movies may not play back
correctly on older Irix releases, but movies generated
on older Irix releases will be playable on Irix 6.5.1.
+o The problems many users ran into with upside down and
non-color converted uncompressed QuickTime movies are
solved by the fact that mvReadFrames now always returns
XBGR, bottom-to-top, non interlaced data.
+o Stereo audio in QuickTime files is now handled
correctly.
+o The Movie Library's playback engine has been modified
to pick up edits made to a movie. For example, if
frames are added to a movie that's been bound to a
window but is currently not playing the playback
instance will pick up the change and play all the
frames of the movie. It should be noted that no edits
should be made to the movie while the movie is
currently playing.
+o The Movie Library now supports playing back tracks of
different lengths. For example, playing a movie with a
video track that is longer than its audio track will
play all the frames of the video track even after the
audio has stopped playing.
+o Calling mmmmvvvvSSSSttttoooopppp as the playback engine reached the last
frame of a movie could result in a deadlock condition
in the 5.3 Movie Library. This can no longer happen.
9.3 _K_n_o_w_n__P_r_o_b_l_e_m_s__a_n_d__W_o_r_k_a_r_o_u_n_d_s
This section lists some of the known problems with the Movie
Library.
+o The SGI movie file format used by the Movie Library is
different from that used prior to the release of Irix
5.2. However, movies in the older format can still be
read and played by the Movie Library. Only the current
- 6 -
format can be written.
+o If the machine on which you are playing a movie cannot
handle the frame rate specified, the audio may sound
choppy.
+o Setting the play speed of the movie to 0 with
mvSetPlaySpeed() will cause the movie library to crash.
The workaround for this is to call mvStop() instead of
setting the play speed to 0.
+o If a QuickTime movie contains complex elements that the
Movie Library does not fully support, the movie will be
opened read only. The movie must be copied to create a
movie that can be edited.